package com.wang.memoryexception.stackmemory;

import java.util.concurrent.TimeUnit;

/**
 * 栈异常测试：OutOfMemoryError
 * 频繁创建线程可能会导致栈OutOfMemoryError
 * 此示例建议在linux上测试，windows可能造成OS假死
 */
public class StackOutOfMemoryErrorTest {
    public static void main(String[] args) {
        // OutOfMemory，windows可能导致os假死，在linux上能试出效果
        outOfMemoryError();
    }

    /**
     * 栈内存不足
     */
    private static void outOfMemoryError() {
        while(true){
            new Thread(()->{
                try {
                    TimeUnit.HOURS.sleep(2);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
        }
    }
}
